package com.wuad.platformwuad.module.study.stringUtilsMethodsDemo;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;

/**
 * StringUtils类 方法实践
 *
 * @author wuaodi
 */
@Slf4j
public class StringUtilsDemo {

    /**
     * 字符串匹配函数
     */
    public static class contains_test{
        public static void main(String[] args) {
            String s1 = "hello";
            String s2 = "he";

            if (StringUtils.contains(s1, s2)) {
                log.info("s1包含s2：{}", StringUtils.contains(s1, s2));
            }
            if (StringUtils.contains(s2, s1)) {
                log.info("s2不包含s1：{}", StringUtils.contains(s2, s1));
            } else {
                log.info("s2不包含s1");
            }
        }
    }

    /**
     * 字符串填充
     */
    public static class center_test{
        public static void main(String[] args) {
            String s1 = "hello";

            String s3 = StringUtils.center(s1, 20, "_");
            log.info("字符串两边填充:{}", s3);
            String s4 = StringUtils.leftPad(s1, 20, "*");
            log.info("字符串左侧填充:{}", s4);
            String s5 = StringUtils.rightPad(s1, 20, "*");
            log.info("字符串右侧填充:{}", s5);
        }
    }

    /**
     * 判断字符串开头结尾
     */
    public static class start_end_test{
        public static void main(String[] args) {
            String s1 = "hello";

            log.info("字符串结尾是不是指定的字符：{}", StringUtils.endsWith(s1, "o"));
//        StringUtils.endsWithAny();
//        StringUtils.endsWithIgnoreCase();
            log.info("字符串开头是不是指定的字符：{}", StringUtils.startsWith(s1, "h"));
        }
    }

    /**
     * 判断字符串是否相等
     * 根据Unicode值比较，与equals不同的是返回值
     */
    public static class compare_test{
        public static void main(String[] args) {
            String s1 = "hello";
            String s6 = "hello1";
            int i1 = StringUtils.compare(s1, s6);
            log.info("比较两个字符串是否相等：{}", i1);// 相等是0，不相等是-1
        }
    }

    // StringUtils.equals()
    public static class equals_test{
        public static void main(String[] args) {
            String s1 = "1";
            String s2 = "0";
            String s3 = null;

            System.out.println(StringUtils.equals("1", s1));// true
            System.out.println(StringUtils.equals("1", s2));// false
            System.out.println(StringUtils.equals("1", s3));// false
        }
    }
}
